A computer network is a collection of interconnected computing devices that can exchange data and share resources. A variety of devices operate to facilitate communication between the computing devices. For example, a computer network may include routers, switches, gateways, firewalls, and a variety of other devices to provide and facilitate network communication.
These network devices typically include mechanisms, such as management interfaces, for locally or remotely configuring the devices. By interacting with the management interface, a client can perform configuration tasks as well as perform operational commands to collect and view operational data of the managed devices. For example, the clients may configure interface cards of the device, adjust parameters for supported network protocols, specify physical components within the device, modify routing information maintained by a router, access software modules and other resources residing on the device, and perform other configuration tasks. In addition, the clients may allow a user to view current operating parameters, system logs, information related to network connectivity, network activity or other status information from the devices as well as view and react to event information received from the devices.
Network configuration services may be performed by multiple distinct devices, such as routers with service cards and/or dedicated service devices. Such services include connectivity services such as Layer Three Virtual Private Network (L3VPN), Virtual Private Local Area Network Service (VPLS), and Peer to Peer (P2P) services. Other services include network configuration services, such as Dot1q VLAN Service. NM Systems may support these services such that an administrator can easily create and manage these high-level network configuration services. In customer deployments, there may be thousands to millions of connectivity services. When the services are changed, the NM System typically deploys in the network via transactions. In some cases, there may be concurrent changes across the devices, as multiple administrators may modify the services in parallel.
In order to configure devices to perform the services, a user (such as an administrator) may write translation programs that translate high-level configuration instructions (e.g., instructions according to a network service model) to low-level configuration instructions (e.g., instructions according to a device configuration model). As part of configuration service support, the user/administrator may provide a service model and a mapping between the service model to a device configuration model.
In order to simplify the mapping definition for the user, NMS devices may be designed to provide the capability to define the mappings in a simple way. For example, some NMS devices provide the use of Velocity Templates and/or Extensible Stylesheet Language Transformations (XSLT). Such translators contain the translation or mapping logic from the high-level service model to the low-level device configuration model. Typically, a relatively small number of changes in the high-level service model impact a relatively large number of properties across device configurations. Different translators may be used when services are created, updated, and deleted from the high-level service model.